package com.lancoo.ccas52.pojo.vo;

import com.lancoo.ccas52.entity.Teacher;
import com.lancoo.ccas52.pojo.dto.ScheduleDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @ClassName StudentTeachingClass
 * @Description TODO
 * @Author quin
 * @Date 2023/6/19 17:54
 */
@Data
public class StudentTeachingClass implements Serializable {

    private Long teachingClassId;

    private String teachingClassName;

    @ApiModelProperty("0无需选课 1在线选课;2:分级教学 3:预选教学班")
    private Integer teachingClassType;

    @ApiModelProperty("修读性质：1主修2辅修")
    private Integer studyNature;

    @ApiModelProperty("教学班容量-学生人数")
    private Integer classNum;

    private Long courseId;

    private String courseName;

    @ApiModelProperty("课程代码")
    private String courseCode;

    @ApiModelProperty("课程学分")
    private Double credit;

    private String courseTypeId;

    @ApiModelProperty("课程类别")
    private String courseType;

    @ApiModelProperty("课程性质 1必修  2选修")
    private Integer courseNature;

    @ApiModelProperty("专业性质，1:公共课，2:专业课")
    private Integer majorProp;

    @ApiModelProperty("开课单位名称")
    private String courseCollegeName;

    @ApiModelProperty("选课人数")
    private Integer studentNumber;

    @ApiModelProperty("1已选   2退选   3管理员移除 null未选")
    private Integer flag;

    @ApiModelProperty("1非重修课程 2重修课程")
    private Integer courseFlag;

    @ApiModelProperty("教师列表")
    private List<Teacher> teachers;

    @ApiModelProperty("课表")
    private List<ScheduleDto> schedules;

    @ApiModelProperty("课程环节区分  1课程 2环节")
    private Integer courseOrSegment;

    @ApiModelProperty("讲授学时")
    int lectureHour;

    @ApiModelProperty("实验学时")
    int experimentalHour;

    @ApiModelProperty("上机学时")
    int computerHour;

    @ApiModelProperty("其它学时")
    int otherHour;

    @ApiModelProperty("课程介绍/备注")
    String description;
}
